Conversational agents (“CA”), or dialog agents, serves as a computer interface in many applications. Examples of such agents include smart personal digital assistants and smart home controllers and automated telephone answering services (e.g., making statements during a telephone call to a business to determine business hours). Existing agents typically offer some pre-defined set of capabilities (e.g., play a song, set a timer, add a reminder, etc.) using the CA as a frontend with a backend providing the heavy lifting. For example, to aid a user in booking a flight on an airline, a CA may analyze a user's speech to determine some set of information necessary to identify available flights (e.g., departure city, destination city, date and time, whether one-way or round-trip) and a backend associated with the CA passes obtains information on available flights.